// import com.alibaba.druid.sql.ast.statement.SQLInsertStatement;
// import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.SQLServerOutput;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.SQLServerSelectQueryBlock;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.SQLServerTop;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.expr.SQLServerObjectReferenceExpr;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.stmt.*;
// import com.alibaba.druid.sql.dialect.sqlserver.ast.stmt.SQLServerExecStatement.SQLServerParameter;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

#include "SQLServerASTVisitor.h"
#include "../ast/SQLServerSelectQueryBlock.h"
#include "../ast/stmt/SQLServerInsertStatement.h"
#include "../../../ast/statement/SQLSelectQueryBlock.h"
#include "../../../ast/statement/SQLInsertStatement.h"

bool SQLServerASTVisitor::visit(SQLServerSelectQueryBlock_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLSelectQueryBlock>(x));
}

void SQLServerASTVisitor::endVisit(SQLServerSelectQueryBlock_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLSelectQueryBlock>(x));
}

bool SQLServerASTVisitor::visit(SQLServerInsertStatement_ptr x)
{
  return SQLASTVisitor::visit(std::dynamic_pointer_cast<SQLInsertStatement>(x));
}

void SQLServerASTVisitor::endVisit(SQLServerInsertStatement_ptr x)
{
  SQLASTVisitor::endVisit(std::dynamic_pointer_cast<SQLInsertStatement>(x));
}
